Skip to content
This repository has been archived by the owner on Jun 28, 2024. It is now read-only.

Update Node types and TypeScript #114

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Update Node types and TypeScript #114

wants to merge 3 commits into from

Conversation

oporkka
Copy link
Member

@oporkka oporkka commented Jan 11, 2022

Updated Node types to latest v16 and TypeScript to latest v3

Updating the two libraries required some type changes in the
implementation, notably the possibly breaking change of changing the
type of ServiceClientRequestOptions.query from object | undefined to
ParsedUrlQueryInput | undefined, which is more specific about the
possible query parameter types. Clients of the library who defined earlier
own types to structure query parameters, need to make sure the types extend
ParsedUrlQueryInput

Updated Node types to latest version 12 to reflect the dropping of Node
8 and Node 10 from support.

This required TypeScript to be updated since TypeScript < 3.7 is not
support starting from @types/node v12.20.12 (ref.
DefinitelyTyped/DefinitelyTyped#55430). The
chosen TypeScript version was the latest 3.9 version. The update to
TypeScript 4.x can be done as a followup.

Updating the two libraries required some type changes in the
implementation, notably the possibly breaking change of changing the
type of `ServiceClientRequestOptions.query` from `object | undefined` to
`ParsedUrlQueryInput | undefined`, which is more specific about the
possible query parameter types.
@oporkka
Copy link
Member Author

oporkka commented Jan 11, 2022

👍

1 similar comment
@ponimas
Copy link
Contributor

ponimas commented Jan 13, 2022

👍

@oporkka
Copy link
Member Author

oporkka commented Jan 13, 2022

👍

@Joneser
Copy link
Contributor

Joneser commented May 13, 2022

It looks like the package version hasn't been updated in some time, should we bump it as part of this PR?

@Joneser
Copy link
Contributor

Joneser commented May 13, 2022

👍

Comment on lines -528 to -542
const {
port,
protocol,
query,
hostname = "",
pathname = "/"
} = url.parse(optionsOrUrl, true);
const { port, protocol, query, hostname, pathname } = url.parse(
optionsOrUrl,
true
);
options = {
hostname,
hostname: hostname || "",
defaultRequestOptions: {
port,
protocol,
query,
// pathname will be overwritten in actual usage, we just guarantee a sane default
pathname

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any issue with the defaults not working with deconstruction?

options = {
hostname,
hostname: hostname || "",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
hostname: hostname || "",
hostname: hostname ?? "",

defaultRequestOptions: {
port,
protocol,
query,
// pathname will be overwritten in actual usage, we just guarantee a sane default
pathname
pathname: pathname || "/"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
pathname: pathname || "/"
pathname: pathname ?? "/"

Comment on lines +238 to +240
if (requestObject.socket != null) {
requestObject.socket.destroy();
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if (requestObject.socket != null) {
requestObject.socket.destroy();
}
requestObject.socket?.destroy();

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants